Early user interface systems presented a monolithic appearance to the user. There was no opportunity for the user to customize the appearance or functionality of the interface to match the user's preferences or needs. As windowing interfaces were developed, an early feature of such interfaces was the ability to move a particular graphical display window about the screen, with the position of the window being remembered from one session to another. As processors became more powerful, operating systems began to provide enhanced opportunities for users to select among various options, such as the font for text display and background colors or images.
Today, most high-end software tools and operating systems allow for substantial amounts of customization by the user, including such features as adding or deleting icons from toolbars, selecting the font face, style and size for text display, selecting graphical color and sharing schemes, and window/sub-window/pane size, position, and stacking order.
A complex example of such interface customization is provided by U.S. Pat. No. 6,232,968 to Alimpich, et al. '968 describes a system for controlling computer operation (specifically the management of printer systems), whereby the user selects among a variety of different sets of interactive functions for the control of multiple types of application program operations. Once the user makes choices from the available options, the user can switch between two or more different interface options for controlling each of two or more different program operations.
Interactive television (iTV) is a growing area of software development. Traditionally, creating an iTV application was a lengthy and expensive process, requiring intimate knowledge of the details of system software and hardware on the set-top boxes (STBs) on which an application would execute. For this reason, iTV applications were often designed for reuse. A template application might have replaceable resources, such as images or text content, and adjustable timing for behavior that is intended to be synchronized with particular program content. An example of such a template application is a play-along game show application, in which the questions and answers vary from week-to-week, as does the timing of presentation of the questions to the game show participants (and thus to the viewer).
A challenge in creating and using such template applications is the need to create an easy-to-use environment for refilling or redefining various placeholder aspects of the template, such as image, text and data. In some cases, the high cost of developing the application has justified the creation of a specialized data entry application specifically for filling in the content of the template for reuse. When a user loads an episodic project, it is not very obvious what item(s) need to be changed or how to change them.
As with many design and development tools, the general authoring interface is overly complex and daunting for the simpler tasks involved in filling in placeholder content when working with an application template. Therefore, there exists a need for a mechanism that provides guidance and assistance to a technician who is working with an application template in the authoring suite.